package com.punai.externalccb.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.punai.common.core.mapper.CommonMapper;
import com.punai.externalccb.domain.YdCbfeeiteminfoStandard;
import com.punai.externalccb.selectbo.CbTjBo;
import com.punai.externalccb.selectbo.GroupFullFeeCbBo;
import org.apache.ibatis.annotations.Param;

/**
 * 月度费用项表标准版Mapper接口
 *
 * @author zxw_
 * @date 2023-04-20
 */
public interface YdCbfeeiteminfoStandardMapper extends CommonMapper<YdCbfeeiteminfoStandard>
{
    List<CbTjBo> selectCbByPro(@Param("proIds") List<String> proIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
    List<GroupFullFeeCbBo> selectCbByProAndCbsCodes(@Param("proId") String proId,
                                                    @Param("stagetype") String stagetype,
                                                    @Param("ydIds") List<Integer> ydIds,
                                                    @Param("tj")List<String> tj,
                                                    @Param("az")List<String> az,
                                                    @Param("fmmb")List<String> fmmb,
                                                    @Param("zczlf")List<String> zczlf,
                                                    @Param("tjzc")List<String> tjzc,
                                                    @Param("tjfc")List<String> tjfc,
                                                    @Param("azzc")List<String> azzc,
                                                    @Param("azfc")List<String> azfc
    );

    List<GroupFullFeeCbBo> selectCbRgfByProAndCbsCodes(@Param("proId") String proId,
                                                    @Param("stagetype") String stagetype,
                                                    @Param("ydIds") List<Integer> ydIds,
                                                    @Param("tj")List<String> tj,
                                                    @Param("az")List<String> az,
                                                    @Param("tjrgf")List<String> tjrgf,
                                                    @Param("azrgf")List<String> azrgf
    );

    List<GroupFullFeeCbBo> selectCzByProAndCbsCodes(@Param("proId") String proId,
                                                    @Param("stagetype") String stagetype,
                                                    @Param("ydIds") List<Integer> ydIds,
                                                    @Param("tj")List<String> tj,
                                                    @Param("az")List<String> az,
                                                    @Param("fmmb")List<String> fmmb,
                                                    @Param("zczlf")List<String> zczlf,
                                                    @Param("tjzc")List<String> tjzc,
                                                    @Param("tjfc")List<String> tjfc,
                                                    @Param("azzc")List<String> azzc,
                                                    @Param("azfc")List<String> azfc
    );

    List<GroupFullFeeCbBo> selectCzRgfByProAndCbsCodes(@Param("proId") String proId,
                                                       @Param("stagetype") String stagetype,
                                                       @Param("ydIds") List<Integer> ydIds,
                                                       @Param("tj")List<String> tj,
                                                       @Param("az")List<String> az,
                                                       @Param("tjrgf")List<String> tjrgf,
                                                       @Param("azrgf")List<String> azrgf
    );
}
